1
Mendefinisikan Ulang OOP untuk Pemrograman Sistem
AI034Lesson 17
00:00

Mendefinisikan ulang OOP di Rust melibatkan pergeseran dari hirarki kelas yang kaku menuju model yang berfokus pada pemisahan data-perilaku. Sementara bahasa sistem tradisional bergantung pada pohon objek yang kompleks, Rust memenuhi tujuan desain OOP—enkapsulasi dan polimorfisme—dengan menggunakan trait dan modul untuk mengutamakan keamanan memori tanpa beban runtime.

1. Menggugurkan Hirarki

Rust secara eksplisit menghindari pewarisan implementasi untuk mencegah masalah kelas dasar rapuh masalah. Sebaliknya, Rust lebih memilih komposisi dan Trait untuk mendefinisikan perilaku bersama di antara tipe-tipe yang berbeda. Di sini, "objek" adalah kombinasi dari data (struktur) dan prosedur (blok impl), diverifikasi pada saat kompilasi.

Kelas DasarHierarki TradisionalTrait (Perilaku)Komposisi Rust"Program berorientasi objek terdiri dariobjek. Sebuah objek menggabungkan data danprosedur yang beroperasi pada data tersebut."— GoF, Halaman 491

2. Konkurensi & State-sebagai-Tipe

Rust menangani konkurensi terutama melalui perpustakaan standar (Send/Sync trait) alih-alih inti bahasa. Untuk memaksimalkan keamanan, algoritma Algoritma State-sebagai-Tipe mengkodekan state yang berbeda menjadi tipe yang berbeda. Transisi mengembalikan instance baru, memindahkan logika dari pernyataan waktu eksekusi jika ke dalam persyaratan saat kompilasi.

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>